//
//  main.m
//  Day9
//
//  Created by dllo on 16/5/16.
//  Copyright © 2016年 lanou. All rights reserved.
//

#import <Foundation/Foundation.h>
int changeValue(int a[]);
int main(int argc, const char * argv[]) {
    
    //写一个函数,修改实参的值.
//    int b = 10;
//    changeValue(b);
//    printf("执行到我了\n");
    
    
    //数组名就是数组的地址  数组首元素的地址就是数组的地址
    
//    int a[10] = {0,5,10};
//    
//    changeValue(a);
//    
//    printf("%d,",a[0]);
    
#if 1
    // 指针保存的是变量的地址,当指针保存了某个变量的地址后,我们就称,这个指针变量指向对应的那块内存地址,将一个已定义的指针变量赋值为另一个变量的内存地址,称为指针的重指向
    // 定义指针不可以  int *p; 这样定义的指针没有初值,称为野指针,这只是野指针的一种.
    // int *p = NULL;这样表示一个空指针.
    // 指针是专门用来保存地址的,指针变量前面的*,代表访问指针变量所保存的那块地址中的内容.
    
    
    
    
    
#endif
    
    
    
    return 0;
}

// 参数是基本数据类型时,修改形参不会影响到外面实参的值.
// 当参数是地址时,修改形参会影响外面实参的值.
// 指针:是专门用来保存地址的
// 数据类型 变量名
// 数据类型 *变量名  指针变量     变量的类型是:数据类型 *
// *a:访问a这块保存的地址里面的数据
int changeValue(int a[]) {
    a[0] = 50;
    return a[0];
}
